home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / SingleHouse.script < prev    next >
Text File  |  2001-11-20  |  4KB  |  184 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CSingleHouseMesh_1
  11. {
  12.   string MeshFile = "Models/B_Country_1.mesh";
  13.   string SkinFile = "Models/B_Country_1.skin";
  14. }
  15.  
  16. class CSingleHouseMesh_2
  17. {
  18.   string MeshFile = "Models/B_Country_2.mesh";
  19.   string SkinFile = "Models/B_Country_2.skin";
  20. }
  21.  
  22. class CSingleHouseMesh_3
  23. {
  24.   string MeshFile = "Models/B_Country_3.mesh";
  25.   string SkinFile = "Models/B_Country_3.skin";
  26. }
  27.  
  28. class CSingleHouseMesh_4
  29. {
  30.   string MeshFile = "Models/B_Country_4.mesh";
  31.   string SkinFile = "Models/B_Country_4.skin";
  32. }
  33.  
  34. class CSingleHouseMesh_5
  35. {
  36.   string MeshFile = "Models/B_Country_5.mesh";
  37.   string SkinFile = "Models/B_Country_5.skin";
  38. }
  39.  
  40. class CSingleHouseMesh_6
  41. {
  42.   string MeshFile = "Models/B_House_s.mesh";
  43.   string SkinFile = "Models/B_House_s.skin";
  44. }
  45.  
  46. class CSingleHouseStateControl extends CUnitLifeControl
  47. {
  48.   void CSingleHouseStateControl()
  49.   {
  50.     CUnitLifeControl(1500.0);
  51.     m_DestroyPause = 20.0;
  52.     m_ExplosionId  = "EXPLID_BuildingExplosion";
  53.   }
  54. }
  55.  
  56. // Building without ground control (for use in villages)
  57. class CBaseSingleHouse extends CBuilding, CUnitWithStateControl
  58. {
  59.   array m_MeshClassNames = array(
  60.       "CSingleHouseMesh_1",
  61.       "CSingleHouseMesh_2",
  62.       "CSingleHouseMesh_3",
  63.       "CSingleHouseMesh_4",
  64.       "CSingleHouseMesh_5",
  65.       "CSingleHouseMesh_6"
  66.     );
  67.  
  68.   void CBaseSingleHouse()
  69.   {
  70.     int MeshNumber = rand_int(m_MeshClassNames.size());
  71.     InitializeModelAsStatic(m_MeshClassNames[MeshNumber]);
  72.     CUnitWithStateControl("CSingleHouseStateControl");
  73.   }
  74. }
  75.  
  76. class CBaseGermanSingleHouse extends CBaseSingleHouse
  77. {
  78.   void CBaseGermanSingleHouse()
  79.   {
  80.     Core_AddClassificator("German");
  81.   }
  82. }
  83.  
  84. // Single game object
  85. class CMountedSingleHouse extends CBaseSingleHouse
  86. {
  87.   void CMountedSingleHouse()
  88.   {
  89.     InitializeGroundControl();
  90.   }
  91. }
  92.  
  93. class CMountedGermanSingleHouse extends CMountedSingleHouse
  94. {
  95.   void CMountedGermanSingleHouse()
  96.   {
  97.     Core_AddClassificator("German");
  98.   }
  99. }
  100.  
  101. // Armed building
  102. class CArmedSingleHouseGun extends CBaseWeaponDescriptor
  103. {
  104.   int    AmmoQuantity      = -1;
  105.   float  BulletSpeed       = 600.0;
  106.   float  FireDeviation     = 0.02;
  107.   string LinkJointName     = "";
  108.  
  109.   string WeaponName        = "Gun";
  110.   float  FireWeaponDelay   = 0.1;
  111.   bool   IsAutotargeting   = false;
  112.   int    AttachSlotNumber  = 1;
  113. }
  114.  
  115. class CGermanArmedSingleHouseGun extends CArmedSingleHouseGun
  116. {
  117.   string BulletPatternId = "BULLETID_GermenArmedSHouseBullet";
  118.   string SoundOnFire     = "SOUNDID_ArmedHouseGunFireSound";
  119. }
  120.  
  121. class CArmedSingleHouseBehavior extends
  122.   CBaseBehavior,
  123.   CArmedSingleHouseFireParameters
  124. {
  125.   boolean CanMove = false;
  126.  
  127.   void CArmedSingleHouseBehavior()
  128.   {
  129.     CBaseBehavior();
  130.   }
  131. }
  132.  
  133. class CArmedSingleHouseFireParameters
  134. {
  135.   boolean  CanFire = true;
  136.  
  137.   int  FirePeriod        = 200; // ms
  138.   int  FirePeriodRandAdd = 100; // ms
  139.  
  140.   int  ShootGunNum = 1;
  141.  
  142.   boolean  BurstFire = true;
  143.   int  BurstTime         = 2000; // ms
  144.   int  BurstTimeRandAdd  = 1000; // ms
  145.  
  146.   int  BurstDelay        = 1000; // ms
  147.   int  BurstDelayRandAdd = 2000; // ms
  148.  
  149. // radar
  150.  
  151.   boolean  HasRadar = true;
  152.  
  153.   float  MaxRadarDistance = 1500; // m
  154.   float  MinRadarDistance = 10;   // m
  155.  
  156.   int    UpdateRadarPeriod        = 2000; // ms
  157.   int    UpdateRadarPeriodRandAdd = 1000; // ms
  158.  
  159.   boolean  FireFlying = true;
  160.   boolean  FireGround = true;
  161. };
  162.  
  163. class CBaseGermanArmedSingleHouse extends
  164.   CBaseSingleHouse,
  165.   CArmedUnit,
  166.   CUnitWithBehavior
  167. {
  168.   void CBaseGermanArmedSingleHouse()
  169.   {
  170.     CreateStaticWeapon("Gun", "CGermanArmedSingleHouseGun");
  171.     InitializeVehicleBehavior("CArmedSingleHouseBehavior");
  172.     Core_AddClassificator("German");
  173.   }
  174. }
  175.  
  176. class CMountedGermanArmedSingleHouse extends CBaseGermanArmedSingleHouse
  177. {
  178.   void CMountedGermanArmedSingleHouse()
  179.   {
  180.     InitializeGroundControl();
  181.   }
  182. }
  183.  
  184.